Option Explicit
Sub F_Sample028()
   'Microsoft ActiveX Data Objects 2.X Library ]wޥζ
   'ոF_Data.mdb F_Tbl01
   'ոF_Data01
    Dim myCon      As New ADODB.Connection
    Dim myRst      As New ADODB.Recordset
    Dim myFileName As String
    Dim myTblName  As String
    Dim myKey      As String
    Dim myDataAr   As Variant
    Dim i          As Long
    Dim j          As Long
    myFileName = "F_Data.mdb"                          'gJؼɮ
    myTblName = "F_Tbl01"                              'gJؼЪ
    myCon.Open "Provider=Microsoft.Jet.OLEDB.4.0;" & _
        "Data Source=" & ThisWorkbook.Path & "\" & myFileName & ";"
   'HSQLӧR
    myCon.Execute "DELETE FROM " & myTblName & " WHERE s > 50"
   'wgJƪu@
    With Worksheets("F_Data01").Cells(1, 1).CurrentRegion
        myDataAr = .Value
    End With
   'ǳƨ즹
    With myRst
       ']w
        .Index = "PrimaryKey"
       '}Ҹƿ
        myRst.Open Source:=myTblName, ActiveConnection:=myCon, _
            CursorType:=adOpenKeyset, LockType:=adLockOptimistic, _
            Options:=adCmdTableDirect
        For i = 2 To UBound(myDataAr, 1)
           'jMsO_Qn
            myKey = myDataAr(i, 1)
            If Not .EOF Then .Seek myKey
            If .EOF Then
                MsgBox "sWs"
                .AddNew
                For j = 1 To .Fields.Count
                    .Fields(myDataAr(1, j)).Value = myDataAr(i, j)
                Next j
                .Update
            Else
                MsgBox "ץJs"
                For j = 2 To .Fields.Count
                    myRst(j - 1).Value = myDataAr(i, j)
                Next
                .Update
            End If
        Next i
        .Close
    End With
    myCon.Close
    Set myRst = Nothing                                        '
    Set myCon = Nothing
End Sub
